<?php
/**
 * 
 * @author Leendert Mechielsen
 * @category applicatie
 * @name $VgpForm
 * @uses db_VgpForm.php
 */
include_once FILE_DB_VGP_FORM;

 class VgpForm {
    
     private $items = array();
     private $idhoofdstuk = array();
     private $idsubkopvanhoofdstuk = array();
     private $hfdstuk_array = array();
     private $projectnummer;
     private $risicoaandachtsgebiedprojectnummer ;
     private $vgp_overzicht = array();
     private $vgp_suboverzicht = array();
     
     
     /**
      * 
      * @return type
      */
     public function getHfdstk_nr() {
         return $this->hfdstk_nr;
     }
     /**
      * 
      * @param int
      * @param string
      */
     public function setHfdstk_nr($hfdstk_nr , $tekst) {
         if(!isset($this->hfdstuk_array[0])){
            $this->hfdstuk_array[$hfdstk_nr]= array();
            $this->hfdstuk_array[$hfdstk_nr]['text']= $tekst;
   
         }
     }
     /**
      * 
      * @return type array
      */
      public function getVgpDataOverzicht() {
        $database = new DbVgpForm();
        $data_array = $database->DbGetVgpDataOverzicht();

        return $data_array;
    }
    /**
     * 
     * @return array
     */
     public function getSubkopNr() {
         return $this->subkop_nr;
     }
     /**
      * 
      * @param string $hoofdkop
      * @param int $subkop_nr
      * @param text $tekst
      */
     public function setSubkopNr($hoofdkop , $subkop_nr , $tekst) {
         // Als Hoofdkop niet bestaat in array
         if(!isset($this->hfdstuk_array[$hoofdkop])){
              // Maak hoofdkop aan
            $this->hfdstuk_array[$hoofdkop]= array();
             
         }
            
         // Sla Subkop onder hoofdkop op in array
         $this->hfdstuk_array[$hoofdkop][$subkop_nr] = $tekst;
     }
     /**
      * 
      * @return type
      */
     public function getItems() {
         return $this->items;
     }
     /**
      * 
      * @param string $items
      */
     public function setItems($items) {
         $this->items = $items;
     }
     /**
      * 
      * @return array
      */
     public function getForm(){
         $risicoaandachtsgebieden = new DbVgpForm();
         $versieid = $risicoaandachtsgebieden->getFormHeadersId();
         if( $versieid == false){
             echo "error Leeg";
         }  else {
             //var_dump($versieid);
         return $versieid;
         }
          
        
     }
     /**
      * 
      * @param int $versieid
      * @return array
      */
      public function getformend($versieid){
          //echo $versieid;
         $risicoaandachtsgebieden = new DbVgpForm();
         $uislag = $risicoaandachtsgebieden->getFormHeaders($versieid);
         if( $uislag == false){
             echo "error Leeg";
         }  else {
        //var_dump($uislag);
        return $uislag;
         
         }
          
        
     }
     /**
      * 
      * @param array $input_data
      *  de split functie regelt dat de binne komende keys worden gesplitst en je zo de id over hou. 
      */
     public function split( $input_data ){
        
    foreach($input_data as $key=>$value){
        if(substr_count($key, "check") == 1 ){
            
            // Dit is een kopje
            $hfdstk_nr = substr($key, strlen("check"));

            if(substr_count($hfdstk_nr, "_")==1){
           
            // Als bestaat haal subhfdstk eruit
            $subkop_array = explode(  '_',$hfdstk_nr);
            $this->setSubkopNr($subkop_array[0], $subkop_array[1], $value);        
            
            } else { 
                $this->setHfdstk_nr($hfdstk_nr, $value);
               
            }    
        }
        
       
        } 
   }
   
   /**
    * 
    * @param int $projectnmmr
    * @param String $projectnaam
    * @param string $opdrachtgever
    * @param string $auteur
    * @param int $revisie
    * @param date $datum
    * save functie  voor het bovenste gedeelte van het vgp aanmaken.
    */
   public function saveprojectitems($projectnmmr , $projectnaam , $opdrachtgever , $auteur , $revisie , $datum){
       
       $savetop = new DbVgpForm();
       $savetop->savetopinfo($projectnmmr , $projectnaam , $opdrachtgever , $auteur , $revisie , $datum);
       
   }

   /**
    * 
    * @param int $projectnmmr
    * save het laatse gedeelte van vgp aanmaken
    */
      public function saveRisicoaandachtsgebied($projectnmmr) {
      
            
        
       $savetop = new DbVgpForm();      
        
           // Voor elke array key
              foreach($this->hfdstuk_array as $resulthoofdstuk ){
                  
                  // SAve hfdstk 
                  //var_dump($resulthoofdstuk);
                  
                   $savetop->savehoofdkop ($resulthoofdstuk['text'] , $projectnmmr);
                   $savetop->setRisicoaandachtsgebied_naam($resulthoofdstuk['text']);
                  // Voor elke subhoofdsuk
                   //unset($resulthoofdstuk['text']);
              
                  foreach ( $resulthoofdstuk as $idx => $value){
                      //sla text over
                      //var_dump($idx);
                      if (strcmp($idx, 'text') == 0) continue;
                      //var_dump($resulthoofdstuk[$idx]);
                      //echo $projectnmmr;
                      $savetop->savesubkop($resulthoofdstuk[$idx], $projectnmmr);
                  
                  }
              }
                                
     }
     
     public function getPjNmmr(){
         $getpj = new DbVgpForm;
         $this->projectnummer = $getpj->getProjectnummer();
         return $this->projectnummer +1;
         
     }
     public function deleteoverzicht($Projectnummer){
         $db_sjabloon = new DbVgpForm();
         $this->vgp_overzicht = $db_sjabloon->delOverzicht($Projectnummer);
         return $this->vgp_overzicht;  
     }

     public function getoverzicht($Projectnummer){
         $db_sjabloon = new DbVgpForm();
         $this->vgp_overzicht = $db_sjabloon->getOverzicht($Projectnummer);
         return $this->vgp_overzicht;  
      }
      public function getsuboverzicht($Projectnummer,$prnmr){
         $db_subsjabloon = new DbVgpForm();
         $this->vgp_suboverzicht = $db_subsjabloon->getSubOverzicht($Projectnummer,$prnmr);
         return $this->vgp_suboverzicht;  
      }
          public function saveRisicogebied($input_data) {
          if (isset($input_data['submit'])){
               foreach($this->hfdstuk_array[0] [0] as $arrayinfo){      
                         $savesub = new DbVgpForm();
                         $savesub->savesubkop ($resultsubkop,$hoofstukvoorhoofdstuk);
               }    
          } 
      } 
      public function delOverzicht($projectnummer){
          
          $deleteoverzicht = new DbVgpForm($projectnummer);
          $deleteoverzicht->delOverzicht($projectnummer);
          
      }
 }
      
         ?>